<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 质数  2 3 5 7 11 13 17 19   只能被1和自身整除

        // 比如判断19是不是质数

        // 19 % 2 
        // 19 % 3 
        // 19 % 4 
        // 19 % 5
        // .. 
        // 19 % 18


        // 9 % 2 
        // 9 % 3 == 0  不是质数

        var n = 19 ;
        // 2-18 
        for(var i = 2 ; i < n ; i++) {
            // n能被其中某个数整数说明不是质数
            if(n % i === 0) {
                // 提前结束循环
                break ;
            }
        }

        // 如果循环提前结束了，说明这个数被整除了 --- 不是质数
        // 循环如果正常结束  i = n 
        // 循环如果提前结束  i < n 

        i === n ? alert('是') : alert('不是') ;







        // 判断9是不是质数
        var x = 8 ;

        // 假设法 --- 立flag
        //    1 立flag 
        //    2 找到推翻flag的条件
        //    3 最终看flag的值

        var flag = '是质数' ;
        for(var i = 2 ; i < x ; i++) {
            // 找到不是质数的条件
            if(x % i === 0) {
                // 找到了之后flag就被推翻
                flag = '不是质数' ;
                break ;   // 不是必须的，只是优化程序
            }
        }

        alert(flag) ;


        // flag = '是质数'

        // i = 2   flag = '不是质数'
        // i = 3  
        // i = 4   flag = '不是质数'




    </script>
    
</body>
</html>